//
//  LRTextController.swift
//  LRWeibo
//
//  Created by 雷路荣 on 15/12/27.
//  Copyright © 2015年 leilurong. All rights reserved.
//

import UIKit

class LRTextController: UITableViewController {

    /// 微博模型属性
     var statues: LRStatues {
        
            didSet {
                self.tableView.reloadData()
            }
        
    }
    /// 创建评论模型空数组
    private var comments: [LRCommentModel] = [LRCommentModel]()
    /// MARK: - 构造函数
    init(statues: LRStatues) {
        self.statues = statues
        super.init(nibName: nil, bundle: nil)
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        print("\(statues)\(statues.cellID())")
    }

    // MARK: - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 1
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 1
    }

    
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(statues.cellID()) as! LRStatuesCell
        cell.statues = statues

        return cell
    }
    override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 500
//        //取出对应cell的模型数据
//        //使用cell计算行高,每次都计算行高需要消耗性能,将行高进行缓存,行高是根据模型算出来的.行高缓存在模型中最合适
//        //如果对应行的模型数据（缓存）中有行高值，直接使用缓存的行高,不再执行后面的计算
//        if statues.rowHeight != nil {
//        return statues.rowHeight!
//        }
//        // 调用这个方法,会再次调用heightForRowAtIndexPath：本方法来获取行高,会出现递归.
//        //let cell = tableView.dequeueReusableCellWithIdentifier(ReuseIdentifier, forIndexPath: indexPath) as! CZStatusCell
//        let cell = tableView.dequeueReusableCellWithIdentifier(statues.cellID()) as! LRStatuesCell
//        //计算行高
//        let rowHeight = cell.rowHeight(statues)
//        // 保存计算好的行高
//        statues.rowHeight = rowHeight
//        //print("rowHeight:\(rowHeight)")
//        return rowHeight
    }

}
